/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.CheckBox
 *  javafx.scene.control.ComboBox
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.AnchorPane
 *  javafx.scene.text.Text
 *  javafx.stage.Modality
 *  javafx.stage.Stage
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.springframework.beans.factory.annotation.Autowired
 */
package com.gys.controller.rechargecard;

import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.PayUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.data.KeyValue;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.CommonUtil;
import com.gys.common.util.PrintService;
import com.gys.common.util.SpringUtil;
import com.gys.common.util.ValidationUtil;
import com.gys.controller.BaseController;
import com.gys.controller.rechargecard.RechargeScanPayController;
import com.gys.controller.rechargecard.RechargecardController;
import com.gys.controller.salesReceipts.TipTopController;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.pay.GetPayInData;
import com.gys.data.pay.GetPayTypeOutData;
import com.gys.view.rechargecard.IndexView;
import com.gys.view.rechargecard.PayView;
import de.felixroske.jfxsupport.FXMLController;
import java.math.BigDecimal;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Timer;
import java.util.TimerTask;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Text;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.springframework.beans.factory.annotation.Autowired;

@FXMLController
public class RechargePayController
extends BaseController
implements Initializable {
    @FXML
    private TableView<GetPayTypeOutData> tableView;
    @FXML
    private TableColumn<GetPayTypeOutData, String> index;
    @FXML
    private TableColumn<GetPayTypeOutData, String> gspmId;
    @FXML
    private TableColumn<GetPayTypeOutData, String> gspmName;
    @FXML
    private TableColumn<GetPayTypeOutData, CheckBox> checkBox;
    @FXML
    private TableColumn<GetPayTypeOutData, String> payAmount;
    @FXML
    private ComboBox<KeyValue> payType;
    @FXML
    private TextField sfAmount;
    @FXML
    private TextField ysAmount;
    @FXML
    private TextField ssAmount;
    @FXML
    private TextField dsAmount;
    @FXML
    private Text totalText;
    @FXML
    private AnchorPane anchorPane;
    @Autowired
    private TipTopController tipTopController;
    @Autowired
    private RechargeScanPayController scanPayController;
    @Autowired
    private RechargecardController rechargecardController;
    @Autowired
    private PrintService printService;
    private ObservableList<GetPayTypeOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    private ObservableList<KeyValue> payTypeOptions;
    public String xjAmount = "0";
    public String ylAmount = "0";
    public String wxAmount = "0";
    public String zfbAmount = "0";

    public void initialize(URL location, ResourceBundle resources) {
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.anchorPane)) {
            return;
        }
        this.xjAmount = "0";
        this.ylAmount = "0";
        this.wxAmount = "0";
        this.zfbAmount = "0";
        new Timer().schedule(new TimerTask(){

            @Override
            public void run() {
                IndexView view = SpringUtil.getBean(IndexView.class);
                Stage stage = (Stage)view.getView().getScene().getWindow();
                stage.getScene().setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

                    public void handle(KeyEvent event) {
                        if (event.getCode() == KeyCode.ENTER) {
                            RechargePayController.this.sureAction();
                            return;
                        }
                        if (event.getCode() == KeyCode.ESCAPE) {
                            RechargePayController.this.cancelAction();
                            return;
                        }
                        if (event.getCode() == KeyCode.SPACE) {
                            RechargePayController.this.payCommit();
                            return;
                        }
                    }
                });
            }
        }, 1000L);
        GetPayInData inData = new GetPayInData();
        inData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        inData.setType("1");
        HttpJson httpJsonS = PayUtil.payTypeList(inData);
        List<GetPayTypeOutData> items = new ArrayList();
        if (!httpJsonS.isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJsonS.getMsg());
            alert.showAndWait();
            return;
        }
        items = JSON.parseArray((String)httpJsonS.getMsg(), GetPayTypeOutData.class);
        ArrayList<KeyValue> payTypeList = new ArrayList<KeyValue>();
        ArrayList<GetPayTypeOutData> list = new ArrayList<GetPayTypeOutData>();
        for (GetPayTypeOutData item : items) {
            if ("4000".equals(item.getGspmId())) continue;
            list.add(item);
            item.setPayAmount(BigDecimal.ZERO);
            payTypeList.add(new KeyValue(item.getGspmName(), item.getGspmId()));
        }
        this.payTypeOptions = FXCollections.observableArrayList(payTypeList);
        this.payType.setItems(this.payTypeOptions);
        this.comboxInit(this.payType);
        this.payType.requestFocus();
        KeyValue keyValue = new KeyValue();
        keyValue.setValue("1000");
        keyValue.setName("\u73b0\u91d1");
        this.payType.setValue(keyValue);
        this.sfAmount.setText("0.00");
        this.ysAmount.setText(this.rechargecardController.getGsrcpPayAmtSave().getText());
        this.ssAmount.setText("0.00");
        this.dsAmount.setText(this.rechargecardController.getGsrcpPayAmtSave().getText());
        this.observableTableList = FXCollections.observableArrayList(list);
        this.initTable();
    }

    public void comboxInit(ComboBox box) {
        box.converterProperty().set(new StringConverter<KeyValue>(){

            public String toString(KeyValue object) {
                return object.getName();
            }

            public KeyValue fromString(String string) {
                return null;
            }
        });
    }

    public TableView<GetPayTypeOutData> initTable() {
        this.bingDetailTableCell();
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    @FXML
    public void refreshAmount(String payType, String amount) {
        if ("1000".equals(payType)) {
            this.ssAmount.setText(new BigDecimal(this.ssAmount.getText()).add(new BigDecimal(amount)).subtract(new BigDecimal(this.xjAmount)).toString());
        }
        if ("2000".equals(payType)) {
            this.ssAmount.setText(new BigDecimal(this.ssAmount.getText()).add(new BigDecimal(amount)).subtract(new BigDecimal(this.ylAmount)).toString());
        }
        if ("3001".equals(payType)) {
            this.ssAmount.setText(new BigDecimal(this.ssAmount.getText()).add(new BigDecimal(amount)).subtract(new BigDecimal(this.wxAmount)).toString());
        }
        if ("3002".equals(payType)) {
            this.ssAmount.setText(new BigDecimal(this.ssAmount.getText()).add(new BigDecimal(amount)).subtract(new BigDecimal(this.zfbAmount)).toString());
        }
        BigDecimal total = BigDecimal.ZERO;
        for (GetPayTypeOutData payTypeOutData : this.observableTableList) {
            if (payType.equals(payTypeOutData.getGspmId())) {
                if ("1000".equals(payType)) {
                    payTypeOutData.setPayAmount(payTypeOutData.getPayAmount().add(new BigDecimal(amount)).subtract(new BigDecimal(this.xjAmount)));
                } else if ("2000".equals(payType)) {
                    payTypeOutData.setPayAmount(payTypeOutData.getPayAmount().add(new BigDecimal(amount)).subtract(new BigDecimal(this.ylAmount)));
                } else if ("3001".equals(payType)) {
                    payTypeOutData.setPayAmount(payTypeOutData.getPayAmount().add(new BigDecimal(amount)).subtract(new BigDecimal(this.wxAmount)));
                } else if ("3002".equals(payType)) {
                    payTypeOutData.setPayAmount(payTypeOutData.getPayAmount().add(new BigDecimal(amount)).subtract(new BigDecimal(this.zfbAmount)));
                }
                if (payTypeOutData.getPayAmount().compareTo(BigDecimal.ZERO) > 0) {
                    payTypeOutData.getCheckBox().setSelectStatus(true);
                } else {
                    payTypeOutData.getCheckBox().setSelectStatus(false);
                }
            }
            total = total.add(payTypeOutData.getPayAmount());
        }
        this.totalText.setText(total.toString());
        this.tableView.refresh();
        this.computeAmount();
    }

    @FXML
    private void computeAmount() {
        BigDecimal dsAmounts = new BigDecimal(this.ysAmount.getText()).subtract(new BigDecimal(this.ssAmount.getText()));
        if (dsAmounts.compareTo(BigDecimal.ZERO) < 0) {
            this.dsAmount.setText("0.00");
        } else {
            this.dsAmount.setText(dsAmounts.toString());
        }
    }

    @FXML
    public void scanPay(String payCode) {
        GetPayInData payInData = new GetPayInData();
        payInData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        payInData.setType(((KeyValue)this.payType.getValue()).getValue());
        payInData.setAmount(new BigDecimal(this.sfAmount.getText()));
        payInData.setPayCode(payCode);
        HttpJson httpJson = PayUtil.pay(payInData);
        if (httpJson.isSuccess()) {
            this.refreshAmount(((KeyValue)this.payType.getValue()).getValue(), this.sfAmount.getText());
            this.ylAmount = this.sfAmount.getText();
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
        }
    }

    @FXML
    private void sureAction() {
        Alert alert;
        if (ObjectUtil.isEmpty(this.sfAmount.getText()) || !ValidationUtil.checkAmount(this.sfAmount.getText())) {
            Alert alert2 = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u672a\u586b\u5199\u5b8c\u6210\uff0c\u8bf7\u6838\u5bf9\u540e\u7ee7\u7eed\u8f93\u5165\uff01");
            alert2.showAndWait();
            return;
        }
        if ("2000".equals(((KeyValue)this.payType.getValue()).getValue()) && new BigDecimal(this.ylAmount).compareTo(BigDecimal.ZERO) > 0) {
            Alert alert3 = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5df2\u53d1\u8d77\u8fc7\u652f\u4ed8\uff0c\u4e0d\u8981\u91cd\u590d\u652f\u4ed8\uff01");
            alert3.showAndWait();
            return;
        }
        BigDecimal total = BigDecimal.ZERO;
        for (GetPayTypeOutData payTypeOutData : this.observableTableList) {
            if (((KeyValue)this.payType.getValue()).getValue().equals(payTypeOutData.getGspmId())) {
                total = total.add(new BigDecimal(this.sfAmount.getText()));
                continue;
            }
            total = total.add(payTypeOutData.getPayAmount());
        }
        if (total.compareTo(new BigDecimal(this.ysAmount.getText())) > 0) {
            alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5b9e\u4ed8\u91d1\u989d\u4e0d\u80fd\u5927\u4e8e\u5f85\u6536\u91d1\u989d\uff01");
            alert.showAndWait();
            return;
        }
        if (new BigDecimal(this.sfAmount.getText()).compareTo(BigDecimal.ZERO) == 0 && new BigDecimal(this.dsAmount.getText()).compareTo(BigDecimal.ZERO) > 0) {
            alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5b9e\u4ed8\u91d1\u989d\u5c0f\u4e8e\u5f85\u6536\u91d1\u989d\uff0c\u8bf7\u786e\u8ba4\u91d1\u989d\u540e\u7ee7\u7eed\uff01");
            alert.showAndWait();
            return;
        }
        if ("2000".equals(((KeyValue)this.payType.getValue()).getValue())) {
            this.scanPayController.init();
            CommonUtil.showView(PayView.class, Modality.APPLICATION_MODAL);
        } else {
            this.refreshAmount(((KeyValue)this.payType.getValue()).getValue(), this.sfAmount.getText());
            if ("1000".equals(((KeyValue)this.payType.getValue()).getValue())) {
                this.xjAmount = this.sfAmount.getText();
            }
            if ("3001".equals(((KeyValue)this.payType.getValue()).getValue())) {
                this.wxAmount = this.sfAmount.getText();
            }
            if ("3002".equals(((KeyValue)this.payType.getValue()).getValue())) {
                this.zfbAmount = this.sfAmount.getText();
            }
        }
    }

    @FXML
    public void payCommit() {
        if (new BigDecimal(this.dsAmount.getText()).compareTo(BigDecimal.ZERO) > 0) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u6536\u6b3e\u672a\u5b8c\u6210\uff0c\u65e0\u6cd5\u786e\u8ba4\u652f\u4ed8\uff01");
            alert.showAndWait();
            return;
        }
        this.rechargecardController.confirmPay();
        this.anchorPane.getScene().getWindow().hide();
    }

    private void bingDetailTableCell() {
        this.index.setCellValueFactory((Callback)new PropertyValueFactory(this.index.getId()));
        this.gspmId.setCellValueFactory((Callback)new PropertyValueFactory(this.gspmId.getId()));
        this.gspmName.setCellValueFactory((Callback)new PropertyValueFactory(this.gspmName.getId()));
        this.payAmount.setCellValueFactory((Callback)new PropertyValueFactory(this.payAmount.getId()));
        this.checkBox.setCellValueFactory(cellData -> ((GetPayTypeOutData)cellData.getValue()).getCheckBox().getCustomCheckBox());
    }

    @FXML
    public void cancelAction() {
        this.anchorPane.getScene().getWindow().hide();
    }

    public TableView<GetPayTypeOutData> getTableView() {
        return this.tableView;
    }

    public TableColumn<GetPayTypeOutData, String> getIndex() {
        return this.index;
    }

    public TableColumn<GetPayTypeOutData, String> getGspmId() {
        return this.gspmId;
    }

    public TableColumn<GetPayTypeOutData, String> getGspmName() {
        return this.gspmName;
    }

    public TableColumn<GetPayTypeOutData, CheckBox> getCheckBox() {
        return this.checkBox;
    }

    public TableColumn<GetPayTypeOutData, String> getPayAmount() {
        return this.payAmount;
    }

    public ComboBox<KeyValue> getPayType() {
        return this.payType;
    }

    public TextField getSfAmount() {
        return this.sfAmount;
    }

    public TextField getYsAmount() {
        return this.ysAmount;
    }

    public TextField getSsAmount() {
        return this.ssAmount;
    }

    public TextField getDsAmount() {
        return this.dsAmount;
    }

    public Text getTotalText() {
        return this.totalText;
    }

    public AnchorPane getAnchorPane() {
        return this.anchorPane;
    }

    public TipTopController getTipTopController() {
        return this.tipTopController;
    }

    public RechargeScanPayController getScanPayController() {
        return this.scanPayController;
    }

    public RechargecardController getRechargecardController() {
        return this.rechargecardController;
    }

    public PrintService getPrintService() {
        return this.printService;
    }

    public ObservableList<GetPayTypeOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public ObservableList<KeyValue> getPayTypeOptions() {
        return this.payTypeOptions;
    }

    public String getXjAmount() {
        return this.xjAmount;
    }

    public String getYlAmount() {
        return this.ylAmount;
    }

    public String getWxAmount() {
        return this.wxAmount;
    }

    public String getZfbAmount() {
        return this.zfbAmount;
    }

    public void setTableView(TableView<GetPayTypeOutData> tableView) {
        this.tableView = tableView;
    }

    public void setIndex(TableColumn<GetPayTypeOutData, String> index) {
        this.index = index;
    }

    public void setGspmId(TableColumn<GetPayTypeOutData, String> gspmId) {
        this.gspmId = gspmId;
    }

    public void setGspmName(TableColumn<GetPayTypeOutData, String> gspmName) {
        this.gspmName = gspmName;
    }

    public void setCheckBox(TableColumn<GetPayTypeOutData, CheckBox> checkBox) {
        this.checkBox = checkBox;
    }

    public void setPayAmount(TableColumn<GetPayTypeOutData, String> payAmount) {
        this.payAmount = payAmount;
    }

    public void setPayType(ComboBox<KeyValue> payType) {
        this.payType = payType;
    }

    public void setSfAmount(TextField sfAmount) {
        this.sfAmount = sfAmount;
    }

    public void setYsAmount(TextField ysAmount) {
        this.ysAmount = ysAmount;
    }

    public void setSsAmount(TextField ssAmount) {
        this.ssAmount = ssAmount;
    }

    public void setDsAmount(TextField dsAmount) {
        this.dsAmount = dsAmount;
    }

    public void setTotalText(Text totalText) {
        this.totalText = totalText;
    }

    public void setAnchorPane(AnchorPane anchorPane) {
        this.anchorPane = anchorPane;
    }

    public void setTipTopController(TipTopController tipTopController) {
        this.tipTopController = tipTopController;
    }

    public void setScanPayController(RechargeScanPayController scanPayController) {
        this.scanPayController = scanPayController;
    }

    public void setRechargecardController(RechargecardController rechargecardController) {
        this.rechargecardController = rechargecardController;
    }

    public void setPrintService(PrintService printService) {
        this.printService = printService;
    }

    public void setObservableTableList(ObservableList<GetPayTypeOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setPayTypeOptions(ObservableList<KeyValue> payTypeOptions) {
        this.payTypeOptions = payTypeOptions;
    }

    public void setXjAmount(String xjAmount) {
        this.xjAmount = xjAmount;
    }

    public void setYlAmount(String ylAmount) {
        this.ylAmount = ylAmount;
    }

    public void setWxAmount(String wxAmount) {
        this.wxAmount = wxAmount;
    }

    public void setZfbAmount(String zfbAmount) {
        this.zfbAmount = zfbAmount;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof RechargePayController)) {
            return false;
        }
        RechargePayController other = (RechargePayController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        TableView<GetPayTypeOutData> this$tableView = this.getTableView();
        TableView<GetPayTypeOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        TableColumn<GetPayTypeOutData, String> this$index = this.getIndex();
        TableColumn<GetPayTypeOutData, String> other$index = other.getIndex();
        if (this$index == null ? other$index != null : !this$index.equals(other$index)) {
            return false;
        }
        TableColumn<GetPayTypeOutData, String> this$gspmId = this.getGspmId();
        TableColumn<GetPayTypeOutData, String> other$gspmId = other.getGspmId();
        if (this$gspmId == null ? other$gspmId != null : !this$gspmId.equals(other$gspmId)) {
            return false;
        }
        TableColumn<GetPayTypeOutData, String> this$gspmName = this.getGspmName();
        TableColumn<GetPayTypeOutData, String> other$gspmName = other.getGspmName();
        if (this$gspmName == null ? other$gspmName != null : !this$gspmName.equals(other$gspmName)) {
            return false;
        }
        TableColumn<GetPayTypeOutData, CheckBox> this$checkBox = this.getCheckBox();
        TableColumn<GetPayTypeOutData, CheckBox> other$checkBox = other.getCheckBox();
        if (this$checkBox == null ? other$checkBox != null : !this$checkBox.equals(other$checkBox)) {
            return false;
        }
        TableColumn<GetPayTypeOutData, String> this$payAmount = this.getPayAmount();
        TableColumn<GetPayTypeOutData, String> other$payAmount = other.getPayAmount();
        if (this$payAmount == null ? other$payAmount != null : !this$payAmount.equals(other$payAmount)) {
            return false;
        }
        ComboBox<KeyValue> this$payType = this.getPayType();
        ComboBox<KeyValue> other$payType = other.getPayType();
        if (this$payType == null ? other$payType != null : !this$payType.equals(other$payType)) {
            return false;
        }
        TextField this$sfAmount = this.getSfAmount();
        TextField other$sfAmount = other.getSfAmount();
        if (this$sfAmount == null ? other$sfAmount != null : !this$sfAmount.equals(other$sfAmount)) {
            return false;
        }
        TextField this$ysAmount = this.getYsAmount();
        TextField other$ysAmount = other.getYsAmount();
        if (this$ysAmount == null ? other$ysAmount != null : !this$ysAmount.equals(other$ysAmount)) {
            return false;
        }
        TextField this$ssAmount = this.getSsAmount();
        TextField other$ssAmount = other.getSsAmount();
        if (this$ssAmount == null ? other$ssAmount != null : !this$ssAmount.equals(other$ssAmount)) {
            return false;
        }
        TextField this$dsAmount = this.getDsAmount();
        TextField other$dsAmount = other.getDsAmount();
        if (this$dsAmount == null ? other$dsAmount != null : !this$dsAmount.equals(other$dsAmount)) {
            return false;
        }
        Text this$totalText = this.getTotalText();
        Text other$totalText = other.getTotalText();
        if (this$totalText == null ? other$totalText != null : !this$totalText.equals(other$totalText)) {
            return false;
        }
        AnchorPane this$anchorPane = this.getAnchorPane();
        AnchorPane other$anchorPane = other.getAnchorPane();
        if (this$anchorPane == null ? other$anchorPane != null : !this$anchorPane.equals(other$anchorPane)) {
            return false;
        }
        TipTopController this$tipTopController = this.getTipTopController();
        TipTopController other$tipTopController = other.getTipTopController();
        if (this$tipTopController == null ? other$tipTopController != null : !(this$tipTopController).equals(other$tipTopController)) {
            return false;
        }
        RechargeScanPayController this$scanPayController = this.getScanPayController();
        RechargeScanPayController other$scanPayController = other.getScanPayController();
        if (this$scanPayController == null ? other$scanPayController != null : !this$scanPayController.equals(other$scanPayController)) {
            return false;
        }
        RechargecardController this$rechargecardController = this.getRechargecardController();
        RechargecardController other$rechargecardController = other.getRechargecardController();
        if (this$rechargecardController == null ? other$rechargecardController != null : !(this$rechargecardController).equals(other$rechargecardController)) {
            return false;
        }
        PrintService this$printService = this.getPrintService();
        PrintService other$printService = other.getPrintService();
        if (this$printService == null ? other$printService != null : !(this$printService).equals(other$printService)) {
            return false;
        }
        ObservableList<GetPayTypeOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<GetPayTypeOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        ObservableList<KeyValue> this$payTypeOptions = this.getPayTypeOptions();
        ObservableList<KeyValue> other$payTypeOptions = other.getPayTypeOptions();
        if (this$payTypeOptions == null ? other$payTypeOptions != null : !this$payTypeOptions.equals(other$payTypeOptions)) {
            return false;
        }
        String this$xjAmount = this.getXjAmount();
        String other$xjAmount = other.getXjAmount();
        if (this$xjAmount == null ? other$xjAmount != null : !this$xjAmount.equals(other$xjAmount)) {
            return false;
        }
        String this$ylAmount = this.getYlAmount();
        String other$ylAmount = other.getYlAmount();
        if (this$ylAmount == null ? other$ylAmount != null : !this$ylAmount.equals(other$ylAmount)) {
            return false;
        }
        String this$wxAmount = this.getWxAmount();
        String other$wxAmount = other.getWxAmount();
        if (this$wxAmount == null ? other$wxAmount != null : !this$wxAmount.equals(other$wxAmount)) {
            return false;
        }
        String this$zfbAmount = this.getZfbAmount();
        String other$zfbAmount = other.getZfbAmount();
        return !(this$zfbAmount == null ? other$zfbAmount != null : !this$zfbAmount.equals(other$zfbAmount));
    }

    protected boolean canEqual(Object other) {
        return other instanceof RechargePayController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        TableView<GetPayTypeOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        TableColumn<GetPayTypeOutData, String> $index = this.getIndex();
        result = result * 59 + ($index == null ? 43 : $index.hashCode());
        TableColumn<GetPayTypeOutData, String> $gspmId = this.getGspmId();
        result = result * 59 + ($gspmId == null ? 43 : $gspmId.hashCode());
        TableColumn<GetPayTypeOutData, String> $gspmName = this.getGspmName();
        result = result * 59 + ($gspmName == null ? 43 : $gspmName.hashCode());
        TableColumn<GetPayTypeOutData, CheckBox> $checkBox = this.getCheckBox();
        result = result * 59 + ($checkBox == null ? 43 : $checkBox.hashCode());
        TableColumn<GetPayTypeOutData, String> $payAmount = this.getPayAmount();
        result = result * 59 + ($payAmount == null ? 43 : $payAmount.hashCode());
        ComboBox<KeyValue> $payType = this.getPayType();
        result = result * 59 + ($payType == null ? 43 : $payType.hashCode());
        TextField $sfAmount = this.getSfAmount();
        result = result * 59 + ($sfAmount == null ? 43 : $sfAmount.hashCode());
        TextField $ysAmount = this.getYsAmount();
        result = result * 59 + ($ysAmount == null ? 43 : $ysAmount.hashCode());
        TextField $ssAmount = this.getSsAmount();
        result = result * 59 + ($ssAmount == null ? 43 : $ssAmount.hashCode());
        TextField $dsAmount = this.getDsAmount();
        result = result * 59 + ($dsAmount == null ? 43 : $dsAmount.hashCode());
        Text $totalText = this.getTotalText();
        result = result * 59 + ($totalText == null ? 43 : $totalText.hashCode());
        AnchorPane $anchorPane = this.getAnchorPane();
        result = result * 59 + ($anchorPane == null ? 43 : $anchorPane.hashCode());
        TipTopController $tipTopController = this.getTipTopController();
        result = result * 59 + ($tipTopController == null ? 43 : ($tipTopController).hashCode());
        RechargeScanPayController $scanPayController = this.getScanPayController();
        result = result * 59 + ($scanPayController == null ? 43 : $scanPayController.hashCode());
        RechargecardController $rechargecardController = this.getRechargecardController();
        result = result * 59 + ($rechargecardController == null ? 43 : ($rechargecardController).hashCode());
        PrintService $printService = this.getPrintService();
        result = result * 59 + ($printService == null ? 43 : ($printService).hashCode());
        ObservableList<GetPayTypeOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        ObservableList<KeyValue> $payTypeOptions = this.getPayTypeOptions();
        result = result * 59 + ($payTypeOptions == null ? 43 : $payTypeOptions.hashCode());
        String $xjAmount = this.getXjAmount();
        result = result * 59 + ($xjAmount == null ? 43 : $xjAmount.hashCode());
        String $ylAmount = this.getYlAmount();
        result = result * 59 + ($ylAmount == null ? 43 : $ylAmount.hashCode());
        String $wxAmount = this.getWxAmount();
        result = result * 59 + ($wxAmount == null ? 43 : $wxAmount.hashCode());
        String $zfbAmount = this.getZfbAmount();
        result = result * 59 + ($zfbAmount == null ? 43 : $zfbAmount.hashCode());
        return result;
    }

    public String toString() {
        return "RechargePayController(tableView=" + this.getTableView() + ", index=" + this.getIndex() + ", gspmId=" + this.getGspmId() + ", gspmName=" + this.getGspmName() + ", checkBox=" + this.getCheckBox() + ", payAmount=" + this.getPayAmount() + ", payType=" + this.getPayType() + ", sfAmount=" + this.getSfAmount() + ", ysAmount=" + this.getYsAmount() + ", ssAmount=" + this.getSsAmount() + ", dsAmount=" + this.getDsAmount() + ", totalText=" + this.getTotalText() + ", anchorPane=" + this.getAnchorPane() + ", tipTopController=" + this.getTipTopController() + ", scanPayController=" + this.getScanPayController() + ", rechargecardController=" + this.getRechargecardController() + ", printService=" + this.getPrintService() + ", observableTableList=" + this.getObservableTableList() + ", payTypeOptions=" + this.getPayTypeOptions() + ", xjAmount=" + this.getXjAmount() + ", ylAmount=" + this.getYlAmount() + ", wxAmount=" + this.getWxAmount() + ", zfbAmount=" + this.getZfbAmount() + ")";
    }
}

